1. Field of the Invention
The present invention relates generally to a mobile terminal, and in particular, to an apparatus and method for generating a transmission/reception timing in a mobile terminal adopting asynchronous code division multiple access (CDMA).
2. Description of the Related Art
Along with the rapid development of mobile communication technology, user demands for various services have increased with a drastic increase in the amount of data traffic for the services. To transmit larger amounts of data at high rate, 3rd generation (3G) mobile communication systems have been designed. There are two categories of 3G systems: an asynchronous system, (wide-band CDMA (W-CDMA)) and a synchronous system (CDMA-2000). W-CDMA was adopted as the standard for Europe, while CDMA-2000 as the standard for the U.S. In CDMA-2000, each base station (BS) receives reference timing information from global positioning system (GPS) satellites and acquires the whole system synchronization based on the reference timing information. In W-CDMA systems, Node Bs are not synchronized to each other in reference to time. There is no need to synchronize the Node Bs to the GPS timing. Hence, timing control in W-CDMA systems is more difficult, relative to timing control in CDMA-2000.
With reference to FIG. 1, channel signal transmissions from a BS in a CDMA-2000 system will be described below. FIG. 1 is a block diagram of a channel transmitting apparatus for a BS in a typical CDMA-2000 system.
Referring to FIG. 1, upon generation of information bits 110 targeted at mobile station (MS) “m,” a CRC & tail bits adder 111 adds a CRC (cyclic redundancy code) and tail; bits to the information bits 110. An encoder 113 encodes the CRC & tail bits-added bits at a predetermined coding rate, for example, at ⅓ in a predetermined coding method such as convolutional coding or turbo coding.
A repeater 115 repeats code symbols received from the encoder 113 according to the number of bits transmittable on a physical channel such as a dedicated physical channel (DPCH), a fundamental channel (FCH), or a sync channel (SCH). A puncturer 119 punctures some of the repeated symbols according to the number of bits suitable for the physical channel. An interleaver 119 block-interleaves the punctured symbols to prevent burst errors. A sequence repeater 121 repeats the interleaved symbols on a sequence basis and transmits the repeated sequences on the physical channel. Hereinafter, a signal delivered on a physical channel such as DPCH, FCH, or SCH is referred to as “W” and a signal delivered on any other physical channel is referred to as “Y”.
The signal W is applied to the input of a multiplier 123 and a long code mask for MS m (i.e., user m), is fed to a long code generator 125. The long code generator 125 generates a long code for MS m in correspondence with the long code mask, and a decimator 127 decimates the long code. A power control bit (PCB) position detector 137 detects timing for transmitting PCBs, that is, the positions of the PCBs using the decimated signal.
The multiplier 123; multiplies the signal W by the decimated signal. A signal mapper 129 maps 0s and 1s of the multiplied signal to +1s and −1s, respectively when it uses binary phase shift keying (BPSK). A channel gain controller 131 multiplies the output of the signal mapper 129 by a predetermined channel gain, for power amplification. A predetermined number of PCBs, for example, 16 PCBS for a 20-ms frame or 4 PCBS for a 5-ms frame, are fed to a forward power control sub-channel gain controller 135. The forward power control sub-channel gain controller 135 multiplies the received PCBs by a forward power control sub-channel gain. A power control symbol puncturer 133 inserts a transmission power control (TPC) symbol received from the forward power control sub-channel gain controller 135 at the positions detected by the PCB position detector 137 in the output of the channel gain controller 131. The resulting physical channel signal containing power control symbols is referred to as X.
Meanwhile, the signal Y (signals delivered on any other physical channel other than DPCH, FCH, or SCH), is fed to a channel gain controller 139. The channel gain controller 139 multiplies the signal Y by a predetermined channel gain. A demultiplexer (DEMUX) 141 demultiplexes the output of the channel gain controller 139 in time and outputs the demultiplexed symbols to multipliers 143 and 145. If the output of the channel gain controller 139 is successive symbols S1 and S2, the DEMUX 141 feeds the symbol S1 to the multiplier 143 and the symbol S2 to the multiplier 145. A multiplier 147 multiplies a quasi-orthogonal function (QOF) signal by a Walsh function signal. The Walsh function is, for example, a Walsh code. The multipliers 143 and 145 multiply the outputs of the DEMUX 141 by a signal received from the multiplier 147, respectively. A rotator 149 rotates the outputs of the multipliers 143 and 145 by 90 degrees when the QOF signal is enabled under a predetermined control. A complex multiplier 151 multiplies the outputs of the rotator 149 by an in-phase (I) channel pseudorandom noise (PN) code PNI and a quadrature-phase (Q) channel PN code PNQ, respectively. Pulse shaping filters 153 and 155 filter the complex signals received from the complex multiplier 151. A multiplier 157 multiplies the output of the pulse shaping filter 153 by a first carrier cos(2πwct), and a multiplier 161 multiplies the output of the pulse shaping filter 155 by second carrier sin(2πwct). An adder 159 sums the outputs of the multipliers 157 and 161 and outputs the resulting channel signal s(t). The signal X input to the DEMUX 141 as indicated by a dotted line is also processed in the same manner and a corresponding channel signal is generated.
As described above, the channel transmitting apparatus multiplies a channel signal by a Walsh code and a PN code and then converts the channel signal to a pulse signal. The pulse signal is modulated to an RF signal using a carrier. Therefore, the MS must generate the Walsh code and the PN code using the same reference timing as that of the BS, and receive the channel signal using identical Walsh and the PN codes for accurate demodulation. Hence, the BS transmits only the PN code free of the Walsh code on a pilot channel (PICH) to allow the MS to detect the accurate code timings of the Walsh code and the PN code.
With reference to FIG. 2, the timing relation between BSs in the CDMA-2000 system will be described below. FIG. 2 schematically illustrates the timing relation between the BSs in the CDMA-2000 system.
Referring to FIG. 2, an SCH 211 of a first BS has a zero pilot offset and an SCH 251 of a second BS has a pilot offset that is a multiple of 64 chips (64 chips×N). Since each BS uses a PN code having a fixed time offset, for example, a 64 chips×N time offset in the CDMA-2000 system, a MS can acquire the PN code timings of its neighbor BSs only if the MS acquires the PN code timing of one BS. The PN code has a predetermined period, for example, 32,768 chips (=26.6 ms). If the MS acquires the PN code timing of the first BS, it also acquires the PN code timing of the second BS, which is 64 chips×N apart from the PN code timing of the first BS.
However, if the MS is in a power-on condition, the operation timing of the PN code generator in its searcher differs from the reference timing that is the PN code timing of a serving BS. For accurate channel demodulation, the MS synchronizes its PN code timing to that of the BS. This process is called “EPOCH”. During the EPOCH, the MS receives a PICH signal from the BS, varying the PN code timing of the PN code generator. If the received PICH signal has a correlation equal to or greater than a preset threshold at a certain timing, the timing is determined as the PN code timing of the BS.
When a traffic channel is assigned between the MS and the BS, a frame offset α exists between the frame boundaries (FBs) of the PICH and the traffic channel. The frame offset is random and maintained until the traffic channel is released. If the MS moves to another cell, a soft handover occurs. The target BS added to an active set receives information about the frame offset α from the old BS. Although a BS can manage a plurality of cells, it is assumed here that the BS manages only one cell. After the soft handover is completed, the target BS assigns a traffic channel with the frame offset α to the MS. Accordingly, if the MS receives signals from the two BSs, they arrive at the same timing despite different pilot offsets.
Meanwhile, since a signal is transmitted in multiple paths in the real radio channel environment, the MS receives a channel signal from the BS in at least one path. Multi-path signals reach the MS at different arrival time according to the lengths of the paths. Thus, correlations equal to or greater than the threshold are obtained at different timings. To receive the multi-path signals, the MS uses a rake receiver. The rake receiver includes a plurality of fingers for demodulating each multi-path signal. Each finger demodulates a signal from a corresponding path and a combiner combines the demodulated signals, thereby effecting diversity. In other words, even if some of the multi-path channel signals are bad, channel signal reception performance is improved by combining the bad channel signals with the other normal channel signals.
The above-described “EPOCH” will be described with reference to FIGS. 3A and 3B. FIG. 3A schematically illustrates a positive slew in an EPOCH in an MS in the typical CDMA-2000 system. The following description of FIG. 3A is conducted on the assumption that a PN code period is 8 chips (0 to 7).
In FIG. 3A, the difference between the PN code timing of the PN code generator in one of fingers in the MS searcher and that of a BS (i.e. reference timing) is illustrated. A signal Mobile Rx 311 is the BS PN code timing received at the finger. Since the PN code period is 8 chips, the PN code timing starts from 0, proceeds to 7, and then resumes from 0. A signal Offset Counter 313 is the PN code timing of the PN code generator. As illustrated in FIG. 3A, the reference timing is 2 chips earlier than a zero EPOCH point of the PN code timing in the PN code generator. In other words, the PN code timing of the PN code generator is 2 chips earlier than the reference timing. Hence, the PN code generator must generate a PN code with a time delay of 2 chips in order to synchronize the PN code timing to the reference timing. Thus, the PN code generator slews 2 chips positively, as indicated by reference numeral 315. The positive slew changes the PN code timing by 2 chips clockwise with respect to the reference timing “REF”.
FIG. 3B schematically illustrates negative slew in an EPOCH in the MS in the typical CDMA-2000 system. The following description of FIG. 3B is also conducted on the assumption that a PN code period is 8 chips (0 to 7).
In FIG. 3B, the difference between the PN code timing of the PN code generator and that of the BS is illustrated. The signal Mobile Rx 311 is the BS PN code timing received at the finger. Since the PN code period is 8 chips, the PN code timing starts from 0, proceeds to 7, and then resumes from 0. A signal Offset Counter 351 is the PN code timing of the PN code generator. The reference timing is 2 chips later than the zero EPOCH point. Hence the PN code generator operates twice faster than in a normal operation to synchronize the PN code timing to the reference timing. That is, the PN code generator slews 2 chips negatively, as indicated by reference numeral 353. The negative slew changes the PN code timing by 2 chips counterclockwise with respect to the reference timing “REF”.
As described above, upon power-on, the MS receives PICH signals from neighbor BSs, calculates their correlations (i.e. energies), and assigns multi-path signals acquired by the energies to fingers. Each finger slews positively or negatively to thereby synchronize the PN code timing of a PN code generator to a BS PN code timing. This is called “microprocessor-directed slew”. Each finger can correct the PN code timing with an accuracy of up to a ⅛-chip resolution. A slew requiring fine correction for the ⅛-chip resolution is termed “a slew by time tracking”.
Although the fingers generate different PN code timings, demodulated signals from the fingers must be combined at a certain time point. Since the PN code timings may be changed by slews, combining timing independent of the PN code timings is needed. A reception (Rx) reference timing generator (RTG) is responsible for generating the combining timing. It is possible to generate an Rx reference timing only if the Rx RTG is independent of the PN code timing of each finger, but related to the PN code timing of one arbitrary finger. The finger associated with generation of the Rx reference timing is called “a reference finger”.
The relation between the PN code timings of the fingers and the combining timing will be described with reference to FIG. 4. FIG. 4 illustrates the relation between the PN code timings of the fingers and a combiner in the MS searcher in the typical CDMA-2000 system.
Referring to FIG. 4, it is assumed that the MS searcher has four fingers, finger 0 to finger 3, finger 1 is a reference finger, and a PN code has a period of 26.67 ms. In view of the 26.67-ms period, one pilot symbol contains 128 chips. The four fingers receive PICH signals through an antenna. A predetermined time later, for example, three symbols later, they receive signals “FNG_PN_ROLL n”. A signal FNG_PN_ROLL n is generated the predetermined time after an nth finger starts to receive a PICH signal. Because each finger has a different PN code timing, buffered demodulation symbols must be read at the same combining timing using the signal FNG_PN_ROLL n. As illustrated in FIG. 4, if finger 1 is a reference finger, the combiner combines in synchronization to the signal FNG_PN_ROLL 1 generated at finger 1. The Rx reference timing generated in the Rx RTG provides a symbol combining timing for the combiner and a reference timing for later demodulation such as deinterleaving and channel decoding. Thus, the Rx reference timing serves as a base for the overall timings of the channel signal demodulation.
In the CDMA-2000 system, when the MS moves to another BS (i.e. soft handover), the Rx reference timing is maintained since the PN code timings between the BSs are synchronized to the GPS timing. Also, the transmission (Tx) reference timing of the MS is identical to the Rx reference timing. Therefore, there is no need for controlling the Tx reference timing separately. Now, the structure of the RTG for generating the Tx and Rx reference timings will be described below with reference to FIG. 5.
FIG. 5 is a block diagram of the RTG in the MS in the typical CDMA-2000 system. Referring to FIG. 5, a signal F0_PICH_ANT_ROLL is generated at the time when finger 0 starts to receive a PICH signal, a signal F1_PICH_ANT_ROLL is generated at the time when finger 1 starts to receive a PICH signal, a signal F2_PICH_ANT_ROLL is generated at the time when finger 2 starts to receive a PICH signal, and a signal F3_PICH_ANT_ROLL is generated at the time when finger 3 starts to receive a PICH signal. That is, a signal n_PICH_ANT_ROLL is generated when finger n starts to receive a PICH signal through an antenna. This is different from the signal FNG_PN_ROLL n depicted in FIG. 4. The signal FNG_PN_ROLL n is generated a predetermined time (e.g. 3 symbols) after finger n receives a PICH signal, whereas the signal PICH_ANT_ROLL n is generated when finger n receives the PICH signal.
The signals F0_PICH_ANT_ROLL, F1_PICH_ANT_ROLL, F2_PICH_ANT_ROLL, and F3_PICH_ANT_ROLL are fed to corresponding fixed delay counters 511, 513, 515 and 517. The fixed delay counters 511 to 517 delay the received signals by a predetermined time (e.g. 3 symbols) and output the delayed signals PICH_ANT_ROLL 0, PICH_ANT_ROLL 1, PICH_ANT_ROLL 2, and PICH_ANT_ROLL 3. A selector 519 selects one of the signals PICH_ANT_ROLL 0, PICH_ANT_ROLL 1, PICH_ANT_ROLL 2, and PICH_ANT_ROLL 3 according to a reference finger select signal REF_FNG received from a controller (not shown). The reference finger select signal REF_FNG selects the reference finger. In general, the finger that receives the PICH signal earliest, is selected as the reference finger. However, alternate methods for selecting the reference finger exist. In this example, finger 1 is the reference finger. Thus, selector 519 selects the signal FNG_PN_ROLL 1 and feeds it to the Rx RTG 521.
Rx RTG 521 slams (resets) itself to the input signal, and counts an Rx reference timing period. For example, since the Rx reference timing has a period of 20 ms in CDMA-2000, Rx RTG 519 generates the Rx reference timing of 20 ms after slamming. If the reference finger is changed, the controller picks a new reference finger using the signal REF_FNG, and the selector 519 outputs a different signal correspondingly. A slow tracker 525 slow tracks the Rx reference timing to the changed timing received from the selector 519. The reason for slow tracking the change of the Rx reference timing is to prevent combining errors in received signals.
The Rx reference timing is fed to both a downlink offset controller 523 and a Tx RTG 527. The downlink offset controller 523 acquires a forward FB (DL_FB) by adjusting a forward FB offset based on the Rx reference timing. The Tx RTG 527 generates a Tx reference timing based on the Rx reference timing. The uplink offset controller 529 acquires a reverse FB (UL_FB) by adjusting a reverse FB offset based on the Tx reference timing.
In CDMA-2000, when an MS receives channel signals from a plurality of BSs at a soft handover, the MS can receive the channel signals from the other BSs without separate reference timing controls only if it acquires the PN code timing of one arbitrary BS, because BSs are synchronized to each other based on GPS timing. In W-CDMA, on the other hand, there is no synchronization established between Node Bs and thus each Node B controls reference timing independently. Therefore, when a user equipment (UE) receives channel signals from a plurality of Node Bs, it must control a reference timing for each Node B. As a result, it is impossible to generate Tx and Rx reference timings using a single RTG. Hence, there is a need for a searcher implemented in a minimum amount of hardware to generate the Tx and Rx reference timings in a single RTG.